package com.yang.controller;


import com.yang.domain.DTO.AddTagDto;
import com.yang.domain.DTO.EditTagDto;
import com.yang.domain.DTO.TagListDto;
import com.yang.domain.Result;
import com.yang.domain.VO.PageVo;
import com.yang.domain.VO.TagVo;
import com.yang.domain.entity.Tag;
import com.yang.service.TagService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 后台标签控制层
 * </p>
 * @author yang
 * @date 2023/5/29
 */
@RestController
@RequestMapping("/content/tag")
public class TagController {

    @Resource
    private TagService tagService;

    @GetMapping("/list")
    public Result<PageVo> list(Integer pageNum, Integer pageSize, TagListDto tagListDto){
        return tagService.pageTagList(pageNum,pageSize,tagListDto);
    }

    @PostMapping
    private Result addtag(@RequestBody AddTagDto addTagDto){
        return tagService.addTag(addTagDto);
    }

    @DeleteMapping("/{id}")
    private Result deleteTag(@PathVariable Long id){
        return tagService.deleteTag(id);
    }

    @PutMapping
    public Result editTag(@RequestBody EditTagDto tagDto){
        return tagService.updateTag(tagDto);
    }

    @GetMapping(value = "/{id}")
    public Result getInfo(@PathVariable(value = "id")Long id){
        Tag tag = tagService.getById(id);
        return Result.okResult(tag);
    }

    @GetMapping("/listAllTag")
    public Result listAllTag(){
        List<TagVo> list = tagService.listAllTag();
        return Result.okResult(list);
    }
}
